User applications have long been used in the field of computers. As the use of applications has proliferated, it has become advantageous to store information in standardized formats so that it can be accessed and shared among many people that use a common computing platform. This is particularly important in e.g. large organisations where perhaps many hundreds of employees may need to have access to work done by others in the organisation. Standardising work on a common platform makes application sharing possible which can vastly reduce the time the work spends in transit before getting to the necessary employees. By way of example, a typical company may have a product development organisation comprising a number of departments, each responsible for designing a specific portion of the product using a CAD tool, for example. It is often the case that the departments must work closely together to ensure that the designed portions work properly when the final product is assembled. During the design process the product designers benefit greatly from application sharing i.e. the efficient exchange of CAD files especially when the design groups are located in different geographical locations as is the case in many multi-national companies.
The emergence of computer networks, such as local area networks (LANs), wide area networks (WLANs), Intranet and Internet connections etc., has facilitated the use of shared applications in many organisations. The proliferation of networks has shown to be an especially suitable vehicle for implementing multi-user systems that enable users to share applications in real-time. Interactive multi-user systems such as e.g. Microsoft Netmeeting™ allow workgroups to share a plurality of applications through the network in substantially real-time. This is exemplified in Netmeeting™, for example, in a “white board” function where all users connected to the session are able to view the contents on the “white board” and perhaps make changes to the contents for all others to see. The function is intended to simulate a chalkboard used in a classroom except that it is applied to a multi-user computer networking environment but having the significant advantage in that the users can be located in various locations and at perhaps great distances from each other. Although clients running programs such as Netmeeting™ can share an arbitrary application such as a database, common window (“white board”), or a Web browser, a disadvantage is that it requires system specific software to be installed and maintained in all client machines.
Application sharing is typically performed via a master host having the actual execution content located thereon whereby multiple users interact through a local user interface replica which are able to access a data repository located on the master host. Similar sharing techniques are used in other specialised solutions such as E-mail and calendar systems such as Lotus Notes™ and Microsoft Exchange™, for example. A further example can be found in multi-user games played over a network or the Internet that have become increasingly popular. Gaming applications generally operate under a common game server that updates the game model based on the interactions with several players that use game clients to communicate with the game server. The game server in particular illustrates a specialised multi-user model that is interactive, and where the game actions such as player movement, shooting etc. comprise specific control instructions and are interpreted by the game server. One disadvantage of de facto multi-user solutions is that they are often implemented as proprietary applications e.g. E-mail, interactive games etc. Thus sharing user access to other applications within the same implementation is typically not possible. Furthermore, specific software support is generally required in all client machines thereby restricting access to those machines having the required software.
In the field of mobile telephony, access to wireless applications by mobile devices via data services have been promoted through communication protocols such as Wireless Application Protocol (WAP). WAP is an open standard for mobile devices that is similar in operation to the well-known Internet technology but is optimized specifically to meet the limited bandwidth constraints of the wireless environment. This is achieved, among other things, by using binary data transmission to optimize for long latency and low bandwidth in the form of Wireless Markup Language (WML) and WML script. WML and WML script are optimized for use in hand-held mobile terminals for producing and viewing WAP content and are analogous to the hypertext markup language (HTML) and HTML script used for producing and displaying content on the WWW. It should be noted that the term mobile devices referred to herein may include any portable device capable of wireless communication such as e.g. mobile phones, handheld devices such as personal digital assistants (PDAs), and communicator devices such as the Nokia 9110 etc.
FIG. 1 shows the basic architecture of a typical WAP service model which allows content to be hosted on WWW origin servers or WAP servers and available for wireless retrieval. By way of example, a WAP compliant phone 100 containing a relatively simple built-in micro-browser is able to access the content in an application, such as that residing on the Internet, via a WAP gateway 111 installed in a mobile phone network, for example. To access content from the WWW, a WAP client 100 may make a WML request 113 to the WAP gateway 111 by specifying an uniform resource locator (URL) via transmission 114 on an Internet origin server 112. A URL uniquely identifies a resource, e.g., a document on an Internet server that can be retrieved by standard Internet protocols. The WAP gateway 111 then retrieves the content from the server 112 via transmission 115 that is preferably prepared in WML format, which is optimized for use with WAP phones. If the content is only available in WML format, the WAP gateway 111 may attempt to translate it into WML, which is then sent on to the WAP client 100 via wireless transmission 116 in such way that it is independent of the mobile operating standard For a more complete description of WAP architecture and the WAP environment the interested reader may refer to “Wireless Application Protocol Architecture Specification”, WAP Forum, Apr. 30, 1998. URL: http://www.wapforum.org/ and “Wireless Application Protocol: Wireless Application Environment Overview”, Version 04-Nov-1999, WAP Forum.
A disadvantage with prior art wireless access solutions is that they do not provide a way to collaborate and share arbittary applications e.g., by providing multi-user access to “Web” applications, i.e. a service that is written in a standard markup language and intended for customer use with a client browser. As an illustration, a WAP client customer that wishes to access a travel agency service for booking airline tickets makes a wireless connection to a server containing the relevant databases. In this scenario the travel agent is not able to simultaneously assist the customer by, for example, sifting through possible alternatives. In contrast, in the computer networking paradigm a “sharing-like” session can be achieved by a network administrator who has the capability to view the screen contents of and interact in real-time with any computer workstation in the network. This is particularly helpful when the user needs assistance, for example, when the user is experiencing some sort of computer problem or needs help using a particular application. Thus immediate assistance can be administered conveniently and efficiently to those who need it. This feature is currently lacking in the mobile environment where access to data services via wireless connections such as WAP could especially benefit from real-time help facilities. This is because WAP users must navigate through pages of condensed content designed to be viewed on the relatively small displays of mobile devices and thus may present a less intuitive experience when compared to browsing with a desktop computer.
In view of the foregoing, it would be desirable to provide a technique for providing multi-user interactive access to arbitrary shared applications in wireless environments such as WAP. It would be further advantageous if the technique does not require significant additional specialised software support in client mobile devices which may substantially raise costs.